package com.ruoyi.walmart.domain.Items;

import java.math.BigDecimal;
import java.util.List;

public class ProductItem {
    private List<Item> items;

    public List<Item> getItems() {
        return items;
    }

    public void setItems(List<Item> items) {
        this.items = items;
    }

    public static class Item {
        private String itemId;
        private String condition;
        private boolean isMarketPlaceItem;
        private List<Image> images;
        private BigDecimal customerRating;
        private Price price;
        private String description;
        private String title;
        private String brand;
        private String productType;
        private Properties properties;

        public String getItemId() {
            return itemId;
        }

        public void setItemId(String itemId) {
            this.itemId = itemId;
        }

        public String getCondition() {
            return condition;
        }

        public void setCondition(String condition) {
            this.condition = condition;
        }

        public boolean isMarketPlaceItem() {
            return isMarketPlaceItem;
        }

        public void setMarketPlaceItem(boolean marketPlaceItem) {
            isMarketPlaceItem = marketPlaceItem;
        }

        public List<Image> getImages() {
            return images;
        }

        public void setImages(List<Image> images) {
            this.images = images;
        }

        public BigDecimal getCustomerRating() {
            return customerRating;
        }

        public void setCustomerRating(BigDecimal customerRating) {
            this.customerRating = customerRating;
        }

        public Price getPrice() {
            return price;
        }

        public void setPrice(Price price) {
            this.price = price;
        }

        public String getDescription() {
            return description;
        }

        public void setDescription(String description) {
            this.description = description;
        }

        public String getTitle() {
            return title;
        }

        public void setTitle(String title) {
            this.title = title;
        }

        public String getBrand() {
            return brand;
        }

        public void setBrand(String brand) {
            this.brand = brand;
        }

        public String getProductType() {
            return productType;
        }

        public void setProductType(String productType) {
            this.productType = productType;
        }

        public Properties getProperties() {
            return properties;
        }

        public void setProperties(Properties properties) {
            this.properties = properties;
        }
    }

    public static class Image {
        private String url;

        public String getUrl() {
            return url;
        }

        public void setUrl(String url) {
            this.url = url;
        }
    }

    public static class Price {
        private String amount;
        private String currency;

        public String getAmount() {
            return amount;
        }

        public void setAmount(String amount) {
            this.amount = amount;
        }

        public String getCurrency() {
            return currency;
        }

        public void setCurrency(String currency) {
            this.currency = currency;
        }
    }

    public static class Properties {
        private String variant_items_num;
        private Long num_reviews;
        private List<String> categories;
        private Variants variants;
        private boolean next_day_eligible;

        public String getVariant_items_num() {
            return variant_items_num;
        }

        public void setVariant_items_num(String variant_items_num) {
            this.variant_items_num = variant_items_num;
        }

        public Long getNum_reviews() {
            return num_reviews;
        }

        public void setNum_reviews(Long num_reviews) {
            this.num_reviews = num_reviews;
        }

        public List<String> getCategories() {
            return categories;
        }

        public void setCategories(List<String> categories) {
            this.categories = categories;
        }

        public Variants getVariants() {
            return variants;
        }

        public void setVariants(Variants variants) {
            this.variants = variants;
        }

        public boolean isNext_day_eligible() {
            return next_day_eligible;
        }

        public void setNext_day_eligible(boolean next_day_eligible) {
            this.next_day_eligible = next_day_eligible;
        }
    }

    public static class Variants {
        private List<VariantMeta> variantMeta;
        private List<VariantData> variantData;

        public List<VariantMeta> getVariantMeta() {
            return variantMeta;
        }

        public void setVariantMeta(List<VariantMeta> variantMeta) {
            this.variantMeta = variantMeta;
        }

        public List<VariantData> getVariantData() {
            return variantData;
        }

        public void setVariantData(List<VariantData> variantData) {
            this.variantData = variantData;
        }
    }

    public static class VariantMeta {
        private String name;

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }
    }

    public static class VariantData {
        private String productImageUrl;
        private String itemId;
        private String isAvailable;
        private String title;
        private List<VariantValue> variantValues;

        public String getProductImageUrl() {
            return productImageUrl;
        }

        public void setProductImageUrl(String productImageUrl) {
            this.productImageUrl = productImageUrl;
        }

        public String getItemId() {
            return itemId;
        }

        public void setItemId(String itemId) {
            this.itemId = itemId;
        }

        public String getIsAvailable() {
            return isAvailable;
        }

        public void setIsAvailable(String isAvailable) {
            this.isAvailable = isAvailable;
        }

        public String getTitle() {
            return title;
        }

        public void setTitle(String title) {
            this.title = title;
        }

        public List<VariantValue> getVariantValues() {
            return variantValues;
        }

        public void setVariantValues(List<VariantValue> variantValues) {
            this.variantValues = variantValues;
        }
    }

    public static class VariantValue {
        private String name;
        private String value;

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getValue() {
            return value;
        }

        public void setValue(String value) {
            this.value = value;
        }
    }
}
